
package com.idealighter.game.roomcard.games.mustniuniu.struct;

import com.idealighter.game.core.common.Game;
import com.idealighter.game.roomcard.common.AbstractRoomCardRoomWithTable;
import com.idealighter.game.roomcard.struct.roomcfg.MustNiuNiuRoomCardRoomCfg;
import com.idealighter.game.roomcard.struct.roomcfg.value.MustNiuNiuRoomCardRoomCfgValue;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 四人牛牛房间 .
 * 
 * @date 2016年1月20日 下午5:08:17
 *
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class MustNiuNiuRoom extends AbstractRoomCardRoomWithTable<MustNiuNiuTable, //
    MustNiuNiuSeat, //
    MustNiuNiuRoomCardRoomCfg, //
    MustNiuNiuRoomCardRoomCfgValue> {
  // private static final Logger LOG = LoggerFactory.getLogger(MustNiuNiuRoom.class);

  /**
   * 构造函数 .
   * 
   * @param roomCfg .
   * @param chairs .
   */
  public MustNiuNiuRoom(MustNiuNiuRoomCardRoomCfg roomCfg, int chairs) {
    super(roomCfg.getId(), "房卡" + roomCfg.getId(), roomCfg.getPlayerId(), roomCfg.getGroupId(),
        chairs, roomCfg);
  }

  @Override
  public Game game() {
    return Game.MUST_NIUNIU;
  }

  @Override
  public MustNiuNiuTable createTable(AbstractRoomCardRoomWithTable<MustNiuNiuTable, //
      MustNiuNiuSeat, //
      MustNiuNiuRoomCardRoomCfg, //
      MustNiuNiuRoomCardRoomCfgValue> room) {
    return new MustNiuNiuTable(this);
  }
}
